package com.ruoyi.system.service;

import java.util.List;
import java.util.Map;

import com.ruoyi.system.domain.Subinfo;
import org.apache.ibatis.annotations.Param;

/**
 * 数据回显值Service接口
 * 
 * @author yaozh
 * @date 2024-03-14
 */
public interface ISubinfoService 
{
    String getSubInfoKey(String tagDesc);

    List<Subinfo> findAllObject(@Param("dBname") String dBname);

    Map<String, Long> getRegSubInfoMapList(String dbName, List<Subinfo> subInfoList);

    List<Subinfo> getSubInfoFromSubIdKey(Long subId,String subIdKey);

    int updateObjectBySubIdAndValue(String dBname, Subinfo subinfo);

    /**
     * 增加子阈值
     * @param dBname
     * @param subinfo
     * @return
     */
    int saveObject(String dBname, Subinfo subinfo);

    /**
     * 查询数据回显值
     * 
     * @param id 数据回显值主键
     * @return 数据回显值
     */
    public Subinfo selectSubinfoById(Long id, String dbName);

    /**
     * 查询数据回显值列表
     * 
     * @param subinfo 数据回显值
     * @return 数据回显值集合
     */
    public List<Subinfo> selectSubinfoList(Subinfo subinfo, String dbName);

    /**
     * 新增数据回显值
     * 
     * @param subinfo 数据回显值
     * @return 结果
     */
    public int insertSubinfo(Subinfo subinfo, String dbName);

    /**
     * 修改数据回显值
     * 
     * @param subinfo 数据回显值
     * @return 结果
     */
    public int updateSubinfo(Subinfo subinfo, String dbName);

    /**
     * 批量删除数据回显值
     * 
     * @param ids 需要删除的数据回显值主键集合
     * @return 结果
     */
    public int deleteSubinfoByIds(Long[] ids, String dbName);

    /**
     * 删除数据回显值信息
     * 
     * @param id 数据回显值主键
     * @return 结果
     */
    public int deleteSubinfoById(Long id, String dbName);

    public String importSubInfo(List<Subinfo> subInfoList, Boolean updateSupport, String operaName, String dbName);
}
